package clases;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JOptionPane;

public class Empleoanterior_class extends Conexion{

	private String codigo;
	private String ficha;
	private String empresa;
	private String direccion;
	private String telefono;
	private String nombrejefe;
	private Date inicio;
	private Date fin;
	private Double ultimosueldo;
	private String razonretiro;
	private String cargo;
	private utilidades_class utilidades;
	private String query;
	private ArrayList<String> parametros;
	
	public Empleoanterior_class()
	{
		this.utilidades=new utilidades_class();
	}
	
	public Empleoanterior_class(String codigo)
	{
		this.codigo=codigo;
		this.utilidades= new utilidades_class();
	}
	
	public Empleoanterior_class(String codigo, String ficha, String empresa, String direccion, 
			String telefono, String nombrejefe, Date inicio, Date fin,Double ultimosueldo, String razonretiro, 
			String cargo)
	{
		this.codigo=codigo;
		this.ficha=ficha;
		this.empresa=empresa;
		this.direccion=direccion;
		this.telefono=telefono;
		this.nombrejefe=nombrejefe;
		this.inicio=inicio;
		this.fin=fin;
		this.ultimosueldo = ultimosueldo;
		this.razonretiro = razonretiro;
		this.cargo=cargo;
		this.utilidades=new utilidades_class();
	}
	
	public void nuevo()
	{
		try
		{
			ResultSet resultado = mostrar("SELECT codigoempleo FROM empleoanterior ORDER BY codigoempleo DESC");
			if(resultado.next()) this.codigo = "EA"+String.valueOf(Integer.parseInt(resultado.getString("codigoempleo").substring(2))+1);
			else this.codigo="EA10000000";
			resultado.close();
			
			query = "INSERT INTO empleoanterior VALUES (?,?,?,?,?,?,?,?,?,?,?)";
			parametros = new ArrayList<String>();
			parametros.add(codigo);
			parametros.add(ficha);
			parametros.add(empresa);
			parametros.add(direccion);
			parametros.add(telefono);
			parametros.add(nombrejefe);
			parametros.add(utilidades.insertarfecha(inicio));
			parametros.add(utilidades.insertarfecha(fin));
			parametros.add(String.valueOf(ultimosueldo));
			parametros.add(razonretiro);
			parametros.add(cargo);
			sentenciaConnection(query, parametros);
			
		}catch(Exception ex)
		{
			JOptionPane.showMessageDialog(null, ex.toString());
		}
	}
	
	public void modificar()
	{
		query = "UPDATE empleoanterior SET empresa=?, direccion=?, telefono=?, nombrejefe=?, " +
				"inicio=?, fin=?, ultimosueldo=?, razonretiro=?, codigocargo=? WHERE codigoempleo=?";
		parametros = new ArrayList<String>();
		parametros.add(empresa);
		parametros.add(direccion);
		parametros.add(telefono);
		parametros.add(nombrejefe);
		parametros.add(utilidades.insertarfecha(inicio));
		parametros.add(utilidades.insertarfecha(fin));
		parametros.add(String.valueOf(ultimosueldo));
		parametros.add(razonretiro);
		parametros.add(cargo);
		parametros.add(codigo);
		sentenciaConnection(query, parametros);		
	}
	
	public void eliminar()
	{
		query = "DELETE FROM empleoanterior WHERE codigoempleo=?";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		sentenciaConnection(query, parametros);
	}
	
	public ResultSet mostrar()
	{
		query = "SELECT * FROM empleoanterior";
		return consultaConnection(query);
	}
	
	public ResultSet mostrar(String queryref)
	{
		return consultaConnection(queryref);
	}
	
	public ResultSet mostrar(String queryref, ArrayList<String> parametrosref)
	{
		return consultaConnection(queryref, parametrosref);
	}
}
